package com.yourenbang.lingyun.transaction.web.domain.po;

import com.yourenbang.lingyun.core.util.json.ToJSON;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class Merchant implements Serializable, ToJSON {

    public Merchant(){}

    public Merchant(Short platNo){
        this.platNo = platNo;
    }

    private Integer merchantId;

    /**
     * Database Column Remarks:
     *   商户号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.merchant_no
     *
     * @mbg.generated
     */
    private String merchantNo;

    /**
     * Database Column Remarks:
     *   商户名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.merchant_name
     *
     * @mbg.generated
     */
    private String merchantName;

    /**
     * Database Column Remarks:
     *   用户id
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.user_base_id
     *
     * @mbg.generated
     */
    private String userBaseId;

    /**
     * Database Column Remarks:
     *   商户真实名称
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.real_name
     *
     * @mbg.generated
     */
    private String realName;

    /**
     * Database Column Remarks:
     *   商户身份证号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.id_card
     *
     * @mbg.generated
     */
    private String idCard;

    /**
     * Database Column Remarks:
     *   开户行
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.open_bank
     *
     * @mbg.generated
     */
    private String openBank;

    /**
     * Database Column Remarks:
     *   开户行号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.open_bank_no
     *
     * @mbg.generated
     */
    private String openBankNo;

    /**
     * Database Column Remarks:
     *   开户行地址
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.open_bank_address
     *
     * @mbg.generated
     */
    private String openBankAddress;

    /**
     * Database Column Remarks:
     *   结算卡卡号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.bank_card
     *
     * @mbg.generated
     */
    private String bankCard;

    /**
     * Database Column Remarks:
     *   结算卡正面照
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.bank_card_front
     *
     * @mbg.generated
     */
    private String bankCardFront;

    /**
     * Database Column Remarks:
     *   商户手机号码
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.phone
     *
     * @mbg.generated
     */
    private String phone;

    /**
     * Database Column Remarks:
     *   商户邮箱
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.email
     *
     * @mbg.generated
     */
    private String email;

    /**
     * Database Column Remarks:
     *   协议地址
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.protocol_url
     *
     * @mbg.generated
     */
    private String protocolUrl;

    /**
     * Database Column Remarks:
     *   借记卡费率 例（50）
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.rate_borrow
     *
     * @mbg.generated
     */
    private Integer rateBorrow;

    /**
     * Database Column Remarks:
     *   贷记卡费率 例（55）
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.rate_credit
     *
     * @mbg.generated
     */
    private Integer rateCredit;

    /**
     * Database Column Remarks:
     *   费率是否固定（1:是 0:否）
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.rate_fixed_flag
     *
     * @mbg.generated
     */
    private String rateFixedFlag;

    /**
     * Database Column Remarks:
     *   D0标识0：初始 1：开通中  2：开通成功
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.d0_flag
     *
     * @mbg.generated
     */
    private Byte d0Flag;

    /**
     * Database Column Remarks:
     *   进件订单号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.contract_order_no
     *
     * @mbg.generated
     */
    private String contractOrderNo;

    /**
     * Database Column Remarks:
     *   进件编号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.contract_id
     *
     * @mbg.generated
     */
    private String contractId;

    /**
     * Database Column Remarks:
     *   历史进件编号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.contract_ids
     *
     * @mbg.generated
     */
    private String contractIds;

    /**
     * Database Column Remarks:
     *   虚拟手机号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.fictitious_mobile
     *
     * @mbg.generated
     */
    private String fictitiousMobile;

    /**
     * Database Column Remarks:
     *   终端号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.terminal_id
     *
     * @mbg.generated
     */
    private String terminalId;

    /**
     * Database Column Remarks:
     *   激活码
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.activation_codes
     *
     * @mbg.generated
     */
    private String activationCodes;

    /**
     * Database Column Remarks:
     *   进件成功时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.merchant_active_time
     *
     * @mbg.generated
     */
    private LocalDateTime merchantActiveTime;

    /**
     * Database Column Remarks:
     *   机具激活时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.terminal_active_time
     *
     * @mbg.generated
     */
    private LocalDateTime terminalActiveTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.province_code
     *
     * @mbg.generated
     */
    private String provinceCode;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.city_code
     *
     * @mbg.generated
     */
    private String cityCode;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.district_code
     *
     * @mbg.generated
     */
    private String districtCode;

    /**
     * Database Column Remarks:
     *   详细地址
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.location
     *
     * @mbg.generated
     */
    private String location;

    /**
     * Database Column Remarks:
     *   上传附件标识 0：未上传 1：已上传
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.upload_flag
     *
     * @mbg.generated
     */
    private String uploadFlag;

    /**
     * Database Column Remarks:
     *   变更银行卡标识 0：正在变更 1：变更完成
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.update_card_flag
     *
     * @mbg.generated
     */
    private String updateCardFlag;

    /**
     * Database Column Remarks:
     *   是否优质商户认证 1:是 0:否
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.merchant_auth_flag
     *
     * @mbg.generated
     */
    private String merchantAuthFlag;

    /**
     * Database Column Remarks:
     *   (废弃)产品类型 SK:刷卡 QR:扫码 SF:闪付
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.product_type
     *
     * @mbg.generated
     */
    private String productType;

    /**
     * Database Column Remarks:
     *   支付渠道子产品 100缺失 200mpos 300epos
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.channel_id
     *
     * @mbg.generated
     */
    private Short channelId;

    /**
     * Database Column Remarks:
     *   支付渠道编号 10 考拉快收 20  拉卡拉 30 通易付
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.plat_no
     *
     * @mbg.generated
     */
    private Short platNo;

    /**
     * Database Column Remarks:
     *   备注信息
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.remarks
     *
     * @mbg.generated
     */
    private String remarks;

    /**
     * Database Column Remarks:
     *   状态（100初始 200 审核中 210 被拒 300 认证通过）
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.status
     *
     * @mbg.generated
     */
    private Short status;

    /**
     * Database Column Remarks:
     *   用户应缴押金金额
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash
     *
     * @mbg.generated
     */
    private BigDecimal pledgeCash;

    /**
     * Database Column Remarks:
     *   用户应退还押金金额
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_return
     *
     * @mbg.generated
     */
    private BigDecimal pledgeCashReturn;

    /**
     * Database Column Remarks:
     *   100 线上支付 200 线下支付
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_pay_type
     *
     * @mbg.generated
     */
    private Short pledgeCashPayType;

    /**
     * Database Column Remarks:
     *   押金订单号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_order_no
     *
     * @mbg.generated
     */
    private String pledgeCashOrderNo;

    /**
     * Database Column Remarks:
     *   押金流水号
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_serial_no
     *
     * @mbg.generated
     */
    private String pledgeCashSerialNo;

    /**
     * Database Column Remarks:
     *   押金支付方式
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_pay_getway
     *
     * @mbg.generated
     */
    private String pledgeCashPayGetway;

    /**
     * Database Column Remarks:
     *   押金金额状态 0 无需缴押金 100 待缴费 200 已缴费 400 已达标 410 未达标 420 已作废 500 领取中 600已领取 700 退款中 710 已退款
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_status
     *
     * @mbg.generated
     */
    private Short pledgeCashStatus;

    /**
     * Database Column Remarks:
     *   押金缴纳成功时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_success_time
     *
     * @mbg.generated
     */
    private LocalDateTime pledgeCashSuccessTime;

    /**
     * Database Column Remarks:
     *   押金领取时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_refund_time
     *
     * @mbg.generated
     */
    private LocalDateTime pledgeCashRefundTime;

    /**
     * Database Column Remarks:
     *   押金策略id
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.merchant_pledge_cash_policy_id
     *
     * @mbg.generated
     */
    private Integer merchantPledgeCashPolicyId;

    /**
     * Database Column Remarks:
     *   押金备注信息
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.pledge_cash_remarks
     *
     * @mbg.generated
     */
    private String pledgeCashRemarks;

    /**
     * Database Column Remarks:
     *   返现标识 0:未返现 1:已返现
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.bounty_flag
     *
     * @mbg.generated
     */
    private Byte bountyFlag;

    /**
     * Database Column Remarks:
     *   优质商户标识  0 未达标 10已达标 20 已作废
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.quality_merchant_flag
     *
     * @mbg.generated
     */
    private Short qualityMerchantFlag;

    /**
     * Database Column Remarks:
     *   优惠费率开始时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.discounts_rate_begin_time
     *
     * @mbg.generated
     */
    private LocalDateTime discountsRateBeginTime;

    /**
     * Database Column Remarks:
     *   优惠费率结束时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.discounts_rate_end_time
     *
     * @mbg.generated
     */
    private LocalDateTime discountsRateEndTime;

    /**
     * Database Column Remarks:
     *   优惠费率过期标识 0:未过期 1:已过期
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.discounts_rate_past_flag
     *
     * @mbg.generated
     */
    private String discountsRatePastFlag;

    /**
     * Database Column Remarks:
     *   是否修改过商户地址
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.modify_address_flag
     *
     * @mbg.generated
     */
    private String modifyAddressFlag;

    /**
     * Database Column Remarks:
     *   0 正常,1 删除
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.is_del
     *
     * @mbg.generated
     */
    private Byte isDel;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.update_time
     *
     * @mbg.generated
     */
    private LocalDateTime updateTime;

    /**
     * Database Column Remarks:
     *   创建时间
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.create_time
     *
     * @mbg.generated
     */
    private LocalDateTime createTime;

    /**
     * 下游终端编号,  银小云独有
     */
    private String clientNo;

    /**
     * Database Column Remarks:
     *   下游用户id
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column merchant_21.client_user_id
     *
     * @mbg.generated
     */
    private String clientUserId;
    /**
     * 补录状态 10待补录 20补录成功 30补录失败 40无需处理
     */
    private Short supplementStatus;
    /**
     * 补录失败原因
     */
    private String supplementFailReason;
    /**
     * 关停状态 10正常 20关停
     */
    private Short closeStatus;

    private String mccCode;
}
